package com.fowo.api.model.transaction.report.management.upload.records;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 交易报告管理上传记录 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class TransactionReportManagementUploadRecordsImportPo {

  /** 文件名 */
  @ExcelProperty("文件名")
  @Size(max = 50, message = "文件名长度不能超过50")
  private String fileName;

  /** 解析结果 */
  @ExcelProperty("解析结果")
  private String analysisResults;

  /** 原因 */
  @ExcelProperty("原因")
  @Size(max = 1000, message = "原因长度不能超过1000")
  private String reason;

  /** 店铺 */
  @ExcelProperty("店铺")
  @Size(max = 50, message = "店铺长度不能超过50")
  private String sidShopName;

  @ExcelIgnore
  @Schema(title = "店铺")
  private String sid;

  /** 站点 */
  @ExcelProperty("站点")
  @Size(max = 50, message = "站点长度不能超过50")
  private String siteName;

  @ExcelIgnore
  @Schema(title = "站点")
  private String site;

  /** 报告类型 */
  @ExcelProperty("报告类型")
  private String reportType;

  /** 账单时间 */
  @ExcelProperty("账单时间")
  @DateString(message = "账单时间不是有效的日期格式")
  private String billingTime;

  /** 账单时区 */
  @ExcelProperty("账单时区")
  private String billingTimeZone;

  /** 来源 */
  @ExcelProperty("来源")
  private String sourceFromWhere;

  /** 上传时间 */
  @ExcelProperty("上传时间")
  @DateTimeString(message = "上传时间不是有效的时间日期格式")
  private String uploadTime;

  /** 全部国家 */
  @ExcelProperty("全部国家")
  @Size(max = 300, message = "全部国家长度不能超过300")
  private String station;
}
